package Modele;

import Vue.*;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;

/**
 * Question de type texte � trou
 */
public class TATModele extends Question {

    private int enrecherchedei = 0;
    private TAT tat;
    private Questionnaire t;
    private Fenetre fenetre;
    private TATModele modele;
    private List<Integer> liste;
    
    private String q1;
    private String q2;
    private String q3;
    private String q4;
    private String q5;
    private String q6;
    private String q7;
    private String q8;
    private String q9;
    private String q10;
    private Scores s;

    

    public TATModele(String f, String tat, Questionnaire q) {
        super(f, tat, q);
        this.tat = q.getTat();
        t = q;
        // this.tat.getQuestionnaire().questionSuivanteTAT();
    }

    //rempli une liste avec les chiffre que l'on peut utiliser 
    public List<Integer> remplirListe() {
        //prend en argument la liste avec les valeur a ne pas utiliser 
        //renvoie la liste avec les valeur possible 
        List<Integer> liste = new ArrayList<Integer>();
        Integer c = new Integer(1);
        for (c = 1; c <= 10; c++) {
            liste.add(c);
        }
        return liste;
    }

    public int genererNbAleatoire(int max) {
        //genere l'index de la liste
        Random r = new Random();
        int valeur = 1 + r.nextInt(max - 1);

        return valeur;
    }
    //choisi une valeur dans la liste2

    public void getValeur(List<Integer> l) {
        //prend en argument la liste ou les valeur sont possible 
        //retourne le chiffre choisi 
        int numero;
        int nombre;
        //genere l'index de la liste de facon aléatoire 
        numero = genererNbAleatoire(l.size());

        //recupere l'element a l'index numero
        nombre = l.get(numero);
        modifTexte();
        l.remove(numero);
        liste = l;
        System.out.println("liste : " + liste);


    }

    /** 
     * la map contient les reponses 
     * on choisit une reponse a chaque fois 
     * et on modifie le numero du jlabel par la reponse associé au compteur 
     * exemple la boucle fait son premier tour, on recupere la reponse qu'on affecte jlabel1 
     * la boucle fait son second tour, on recupere la reponse qu'on affecte au jlabel2
     * 
     **/
    public void modifTexte() {

      enrecherchedei = 0;
        Map<String, Integer> reponses = getJdom().getReponses();
        System.out.println("map : " + reponses);

        for (String mapKey : reponses.keySet()) {
            // utilise ici hashMap.get(mapKey) pour accéder aux valeurs
            enrecherchedei ++;
            System.out.println("i : " +enrecherchedei);
            Integer reponse = reponses.get(mapKey);


      //      System.out.println("liste : " + liste);

            if (enrecherchedei == 1) {
                System.out.println("changemenr"+mapKey);
                q1=mapKey;
                
         
            }
            if (enrecherchedei == 2) {
                q2=mapKey;
            }
            if (enrecherchedei == 3) {
                q3=mapKey;
            }
            if (enrecherchedei == 4) {
                q4=mapKey;
            }
            if (enrecherchedei == 5) {
                q5=mapKey;
            }
            if (enrecherchedei == 6) {
                q6=mapKey;
            }
            if (enrecherchedei == 7) {
                q7=mapKey;
            }
            if (enrecherchedei == 8) {
                q8=mapKey;
            }
            if (enrecherchedei == 9) {
               q9=mapKey;
            }
            if (enrecherchedei == 10) {
                q10=mapKey;
            }

            
        }
        
    }

    public void modifEnonce() {
        System.out.println("toto 1");
        this.t = new Questionnaire("TAT");
        t.questionSuivanteTAT(tat);
        System.out.println("toto 2");
        tat.getjLabel4().setText(getEnonce());
        System.out.println("deb enonce" + tat.getjLabel4().getText());
        // tat.getjLabel5().setText(getEnonce2());
        //System.out.println("suite enonce" + tat.getjLabel5().getText());

    }

    public Questionnaire getQuestionnaire() {
        return t;
    }

    public List<Integer> getListe() {
        return liste;
    }

    
    @Override
    public String toString() {
        return "tat";
    }
    
    public void rafraichir(){
       this.fenetre.revalidate();
       this.fenetre.repaint();
    }

    public String getQ1() {
        return q1;
    }

    public String getQ2() {
        return q2;
    }

    public String getQ3() {
        return q3;
    }

    public String getQ4() {
        return q4;
    }

    public String getQ5() {
        return q5;
    }

    public String getQ6() {
        return q6;
    }

    public String getQ7() {
        return q7;
    }

    public String getQ8() {
        return q8;
    }

    public String getQ9() {
        return q9;
    }

    public String getQ10() {
        return q10;
    }

    public void setEnrecherchedei(int enrecherchedei) {
        this.enrecherchedei = enrecherchedei;
    }
    
      
    
    
    
    
    
}



